package com.wicket.okrcomponent.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod;
import com.wicket.okrcomponent.biz.service.StandardDataService;
import com.wicket.okrcomponent.biz.service.dto.req.*;
import com.wicket.okrcomponent.biz.service.dto.res.*;
import com.wicket.okrcomponent.common.ro.OkrResult;
import com.wicket.okrcomponent.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
@RestController
@RequestMapping("/comp/standardData/")
public class StandardDataController {

  @Autowired
  StandardDataService standardDataService;
/**
   * D2-新增财务账户标准数据快照个性准备(账户reids)
   */
    @PostMapping("addPersonPreFinStandardDataSnapshotAccCom")
    public OkrResult<AddPersonPreFinStandardDataSnapshotAccComRespDto> addPersonPreFinStandardDataSnapshotAccCom(@RequestBody @Validated AddPersonPreFinStandardDataSnapshotAccComReqDto reqDTO){
    return OkrResult.success(standardDataService.addPersonPreFinStandardDataSnapshotAccCom(reqDTO));
    }

/**
   * D2-查询财务账户标准数据快照个性准备列表(目标内容redis)
   */
    @PostMapping("queryPersonPreFinStandardDataSnapshotListCom")
    public OkrResult<QueryPersonPreFinStandardDataSnapshotListComRespDto> queryPersonPreFinStandardDataSnapshotListCom(@RequestBody @Validated QueryPersonPreFinStandardDataSnapshotListComReqDto reqDTO){
    return OkrResult.success(standardDataService.queryPersonPreFinStandardDataSnapshotListCom(reqDTO));
    }
/**
   * D2-新增财务账户标准数据快照个性准备(目标内容redis)
   */
    @PostMapping("addPersonPreFinStandardDataSnapshotCom")
    public OkrResult<AddPersonPreFinStandardDataSnapshotComRespDto> addPersonPreFinStandardDataSnapshotCom(@RequestBody @Validated AddPersonPreFinStandardDataSnapshotComReqDto reqDTO){
    return OkrResult.success(standardDataService.addPersonPreFinStandardDataSnapshotCom(reqDTO));
    }
/**
   * D2新增目标内容周期与相关人等入参数据推reids(公共)
   */
    @PostMapping("addTargetCycleAndPeopleEternalGinsengRedisCom")
    public OkrResult<AddTargetCycleAndPeopleEternalGinsengRedisComRespDto> addTargetCycleAndPeopleEternalGinsengRedisCom(@RequestBody @Validated AddTargetCycleAndPeopleEternalGinsengRedisComReqDto reqDTO){
    return OkrResult.success(standardDataService.addTargetCycleAndPeopleEternalGinsengRedisCom(reqDTO));
    }

/**
   * D2-查询周期类型配置详情(公共)
   */
    @PostMapping("queryCycleTypeConfDetailCom")
    public OkrResult<QueryCycleTypeConfDetailComRespDto> queryCycleTypeConfDetailCom(@RequestBody @Validated QueryCycleTypeConfDetailComReqDto reqDTO){
    return OkrResult.success(standardDataService.queryCycleTypeConfDetailCom(reqDTO));
    }
/**
   * D2查询目标内容周期等入参数据列表(redis)
   */
    @PostMapping("queryTargetCycleEternalGinsengListCom")
    public OkrResult<QueryTargetCycleEternalGinsengListComRespDto> queryTargetCycleEternalGinsengListCom(@RequestBody @Validated QueryTargetCycleEternalGinsengListComReqDto reqDTO){
    return OkrResult.success(standardDataService.queryTargetCycleEternalGinsengListCom(reqDTO));
    }
/**
   * D2循环增财务账户标准数据快照个性准备(Redis)
   */
    @PostMapping("implementLoopAddPersonPreFinStandardDataSnapshotCom")
    public OkrResult<ImplementLoopAddPersonPreFinStandardDataSnapshotComRespDto> implementLoopAddPersonPreFinStandardDataSnapshotCom(@RequestBody @Validated ImplementLoopAddPersonPreFinStandardDataSnapshotComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementLoopAddPersonPreFinStandardDataSnapshotCom(reqDTO));
    }
}
